About Computer Programming

Enjoy solving puzzles? Harness the power of computers by writing computer programs!

Learn the fundamental pieces that make a computer program. Upon completing the degree or one of the certificates listed here, you may be ready to re-enter the workforce, or you can further hone your skills in a bachelor's program, a master's program, or another education program. Whatever your intended path, the courses in this program can help prepare you to meet the rising need for capable computer programmers.

Explore Potential Careers

Studying Computer Programming can lead to a variety of different jobs or career paths. Below are just some of the many options you will have!

  • Software Developer
  • Software Engineer
  • Front-End Web Developer
  • Back-End Developer
  • Full-Stack Developer
  • Android Engineer
  • iOS Engineer
  • Quality Assurance Engineer

Program Options 

Click on the degree or certificate you're interested in earning to see a sample map of courses to take to complete your goal from start to finish.

Please note that the course maps provided are just an example to help you get started. Please meet with a counselor to personalize the plan to you and your Academic goals.

Important Note: Due to college-wide budget constraints, the Computer Science Department has had to indefinitely or permanently suspend offerings of a number of our courses. As a result, a number of the certificates below are no longer fully supported. Please read the notes next to each certificate carefully to see how that certificate has been affected.

In particular, the following courses have been indefinitely or permanently suspended and will not be offered in the near future: CS 112, CS 130A, CS 130B, CS 132A, CS 142, CS 155B, CS 178, CS 185, CS 186, CS 197P, CS 197V, CS 198, CS 212, CS 214U, CS 230W, CS 232, CS 280.

Substitutions

Students needing a course substitution approved for any of our certificates need to obtain a signature on their Certificate Petition from the CS Department Chair.

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming and Computer Science 4

MATH 90 + 90S (depending on math placement)

Precalculus Algebra + Support 5-8

ENGL 1A + 1AS

University-Parallel Reading and Composition + Support

4-6

Total Units: 13-18 

Semester 2

Course Number Course Title Units

CS 110B or 111B

Programming Fundamentals (C++ or Java)

4

MATH 95 (depending on math placement)

Trigonometry

5

CCSF Area 1B

Oral Communication and Critical Thinking

3

CCSF Area 3

Arts and Humanities 3

Total Units: 15 

Semester 3

Course Number Course Title Units

CS 110C or 111C

Data Structures and Algorithms (C++ or Java)

4

MATH 110A

Calculus I

5
PHYC 4A

Classical Mechanics for Scientists and Engineers

3

PHYC 4AL

Mechanics Laboratory for Scientists and Engineers

1

CCSF Area 4

Social and Behavioral Sciences

3

Total Units: 16

Semester 4

Course Number Course Title Units
CS 270

Computer Architecture with Assembly Language

4

MATH 110B

Calculus II

5
MATH 115 Discrete Mathematics 3

CCSF Area 6

Ethnic Studies

3

Total Units: 15

View Requirements in College Catalog

Semester 1 

Number Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming and Computer Science 4

CS 160A

Intro to Unix/Linux 2

Total Units: 6 

Semester 2

Course Number Course Title Units

CS 111B

Programming Fundamentals: Java

4

Total Units: 4 

Semester 3

Course Number Course Title Units

CS 111C

Data Structures and Algorithms: Java

4

CS 211S

Advanced Java: Standard Edition

3

CS 211D (fall semesters only)

Android Programming

3

Total Units: 10

 

Semester 4

Course Number Course Title Units

CS 177 or CS 195 or CNIT 195 or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Web Development Capstone OR Work Experience

1-3

Total Units: 1-3

Note: THIS CERTIFICATE IS NO LONGER FULLY SUPPORTED.

Due to college-wide budget constraints, the Computer Science Department is temporarily suspending our offerings of CS 178. We advise students looking to complete this certificate to take CIS 178 at Merritt College or CIS 145 at College of San Mateo, either of which will be regarded as equivalent.

We offer our sincere apologies to any students affected by this. We hope to bring CS 178 back soon. Feel free to contact the Computer Science Department Chair with questions.

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming and Computer Science 4

CS 160A

Intro to Unix/Linux

2

Total Units: 6 

Semester 2

Course Number Course Title Units

CS 131B or CNIT 133

Programming Fundamentals: Python OR JavaScript, jQuery, AJAX

3-4

CS 177

Software Engineering 3

CS 178 (not currently offered)

Build Automation for DevOps & QA

3

Total Units: 9-10 

Note: Due to college-wide budget constraints, the Computer Science Department is temporarily suspending our offerings of CS 280. For this reason, we advise that students pursuing this certificate take CS 150A, CS 160B, or CS 270 to fulfill the specialized context programming requirement. We offer our sincere apologies to any students affected by this. We hope to bring CS 280 back soon. Feel free to contact the Computer Science Department Chair with questions.

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming and Computer Science 4

CS 160A (first half of semester)

Intro to Unix/Linux 2

CS 160B (second half of semester) or 150A (full semester)

(or can instead take CS 270 in Semester 3)

Unix/Linux Shell Scripting OR Intro to SQL Databases and NoSQL

2-3

Total Units: 8-9 

Semester 2

Course Number Course Title Units

CS 110B

Programming Fundamentals: C++

4

Total Units: 4 

Semester 3

Course Number Course Title Units

CS 110C

Data Structures and Algorithms: C++

4

Total Units: 4

 

Semester 4

Course Number Course Title Units

CS 177 or CS 195 or CNIT 195 or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Web Development Capstone OR Work Experience

1-3

Total Units: 1-3

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming and Computer Science 4

CS 160A

Intro to Unix/Linux 2

CS 150A

(or can instead take CS 211E - fall only - in semester 4)

Introduction to SQL Databases and NoSQL

Total Units: 9 

Semester 2

Course Number Course Title Units

CS 111B

Programming Fundamentals: Java 4

Total Units: 4 

Semester 3

Course Number Course Title Units

CS 111C

Data Structures and Algorithms: Java 4
CS 211S Advanced Java: Standard Edition 3

Total Units: 7

 

Semester 4

Course Number Course Title Units

CS 177 or CS 195 or CNIT 195 or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Web Development Capstone OR Work Experience

1-3

Total Units: 1-3

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming and Computer Science 4
CS 160A Intro to Unix/Linux 2
CS 150A Introduction to SQL Databases and NoSQL 3

Total Units: 9 

Semester 2

Course Number Course Title Units

CS 111B or CS 131B

Programming Fundamentals: Java or Python 4

CS 155P (spring only)

MySQL Programming 3

Total Units: 7 

Semester 3

Course Number Course Title Units

CS 211E (fall only) or 231

Advanced Java: Enterprise OR Advanced Python

3

Total Units: 3

 

Semester 4

Course Number Course Title Units

CS 177 or CS 195 or CNIT 195 or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Web Development Capstone OR Work Experience

1-3

Total Units: 1-3

Note: THIS CERTIFICATE IS NO LONGER FULLY SUPPORTED.

Due to college-wide budget constraints, the Computer Science Department is temporarily suspending our offerings of CS 185 and CS 214U. For this reason, we advise that students looking to study game and simulation programming look for courses at other schools. Students who have completed equivalent courses at another school may still earn this certificate if the CS Department Chair approves the substitution.

We offer our sincere apologies to any students affected by this. We hope to bring these courses back soon. Feel free to contact the Computer Science Department Chair with questions.

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming and Computer Science 4

MATH 90 (if needed)

Precalculus Algebra

5
MATH 95 (if needed) Trigonometry 3

PHYC 40 (if needed)

Elementary Physics 3

Total Units: 4 - 15 

Semester 2

Course Number Course Title Units
CS 110B

Programming Fundamentals: C++

4

CS 185 (not currently offered)

Exploring Game Worlds 3

PHYC 2A or 4A

Introductory Physics OR Classical Mechanics for Scientists and Engineers

3

Total Units: 10 

Semester 3

Course Number Course Title Units

CS 110C

Data Structures and Algorithms: C++ 4

CS 214U (not currently offered)

Game and Simulation Programming in Unity

4

CS 177 or CS 195 or CNIT 195 (acceptable substitute) or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Web Development Capstone OR Work Experience

1-3

Total Units: 9-11

Note: THIS CERTIFICATE IS NO LONGER FULLY SUPPORTED.

Due to college-wide budget constraints, the Computer Science Department is temporarily suspending our offerings of CS 212. We advise students looking to complete this certificate to take CIS 137 at College of San Mateo or CIS 38 at De Anza College, either of which will be regarded as equivalent.

We offer our sincere apologies to any students affected by this. We hope to bring CS 212 back soon. Feel free to contact the Computer Science Department Chair with questions.

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming and Computer Science 4

Total Units: 4 

Semester 2

Course Number Course Title Units
CS 110B or 111B Programming Fundamentals: C++ or Java 4

CS 212 (not currently offered)

iPhone Programming 4

Total Units: 8 

Semester 3

Course Number Course Title Units
CS 110C or 111C Data Structures and Algorithms: C++ or Java 4

CS 177 or CS 195 or CNIT 195 or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Web Development Capstone OR Work Experience

1-3

Total Units: 5-7

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming and Computer Science 4
CS 160A Intro to Unix/Linux 2
CNIT 131 Internet Basics and Beginning HTML

Total Units: 9 

Semester 2

Course Number Course Title Units

CS 111B or CS 131B

Programming Fundamentals: Java or Python 4
CS 150A Introduction to SQL Databases and NoSQL 3
CNIT 132 Intermediate HTML and CSS 3

Total Units: 10 

Semester 3

Course Number Course Title Units
CS 211E (fall only) or CS 231 or CNIT 134

(Advanced Programming Course)

3
CNIT 133

JavaScript, jQuery, AJAX

3

Total Units: 6

 

Semester 4

Course Number Course Title Units

CS 177 or CS 195 or CNIT 195 or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Web Development Capstone OR Work Experience

1-3

Total Units: 1-3

Transfer Options

The program coursework you complete at City College for the AS degree in computer science will satisfy lower-division requirements for related majors at several colleges and universities. Note that transfer requirements may differ from one institution to another.

Have questions about transfer? Visit the Transfer Center for help, transfer information, and/or to speak with college representatives.